package com.lianziyou.chain.common.constants;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 合约地址枚举
 */
public class ContractConstants {

    /**
     * 0地址
     */
    public static final String ZERO_ADDRESS = "0x0000000000000000000000000000000000000000";

    @Getter
    @AllArgsConstructor
    public static class ContractAddress{
        public final static String PICKAXE_CONTRACT = "0x4CEFEe78ddCA2a098e73270FcD30f2fD93BF48Ee";
        public final static String PLEDGE_CONTRACT = "0x66672bc48F68eD73E3A15300D6F08e56B032B2Df";
    }

    @Getter
    @AllArgsConstructor
    public static enum CommonEventSelector {

        EIP_TRANSFER_EVENT_SELECTOR("0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "transfer", "转账"),
        ;

        private String selector;
        private String funName;
        private String desc;
    }

    @Getter
    @AllArgsConstructor
    public static enum PickaxeEventSelector {

        PICKAXE_MINT_EVENT_SELECTOR("0xd2c726972743690faf80208f77d618ffb5b84b02aa454255eb5bce0ce4c9e3d9", "MintPickaxe", "铸造镐子"),
        PICKAXE_UPLEVEL_EVENT_SELECTOR("0x4616e1ca2f8523e5c2bceb4c9aedc153ccccc12e974a4132f4df58a2d31b349c", "UpLevel", "镐子升级"),

        ;

        private String selector;
        private String funName;
        private String desc;
    }

    @Getter
    @AllArgsConstructor
    public static enum PledgeEventSelector {

        PLEDGE_DEPOSIT_SELECTOR("0x90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15", "deposit", "质押镐子"),
        PICKAXE_RELIEVE_DEPOSIT_SELECTOR("0xfcb7fa09fbcb887665c3077aad6c8cdd5635737cf73714270b8b5f8c1d6d0b44", "relieveDeposit", "解除质押"),
        PICKAXE_WITHDRAW_SELECTOR("0x02f25270a4d87bea75db541cdfe559334a275b4a233520ed6c0a2429667cca94", "withdraw", "镐子收益提现"),

        ;

        private String selector;
        private String funName;
        private String desc;
    }

}
